const { resolve } = require('path')

const { User } = require(resolve(__dirname, '../../database/dbModule/login'))

const {
  jgcl,
} = require(resolve(__dirname, '../../utils/utils'))

// 获取用户信息
const getUserInfo = async (ctx) => {
  try {
    const findRes = await User.find({ isDel: false })
    if (findRes.length === 0) {
      jgcl(ctx, 2015, '用户信息为空!')
    } else {
      jgcl(ctx, 200, '查询成功!', findRes)
    }
  } catch (err) {
    jgcl(ctx, 2014, '用户信息查询失败!', err)
  }
}

// 搜索
const findUserInfo = async (ctx) => {
  try {
    const { username } = ctx.request.body
    const findRes = await User.find({
      isDel: false,
      username: { $regex: new RegExp(username) }
    })
    if (findRes.length === 0) {
      jgcl(ctx, 2015, '数据为空!')
    } else {
      jgcl(ctx, 200, '查询成功!', findRes)
    }
  } catch (err) {
    jgcl(ctx, 2014, '查询失败!', err)
  }
}

// 修改用户权限
const upUserStatus = async (ctx) => {
  try {
    const { id, status } = ctx.request.body

    const upRes = await User.updateOne({ _id: id, isDel: false }, { isBlogger: status })
    if (upRes.modifiedCount > 0) {
      jgcl(ctx, 200, '修改成功!')
    } else {
      jgcl(ctx, 2013, '修改失败!')
    }
  } catch (err) {
    jgcl(ctx, 2013, '修改失败!', err)
    console.log(err)
  }
}

// 删除
const delUser = async (ctx) => {
  try {
    const { id } = ctx.request.body

    const delRes = await User.updateOne({ _id: id }, { isDel: true })
    if (delRes.modifiedCount > 0) {
      jgcl(ctx, 200, '删除成功!')
    } else {
      jgcl(ctx, 2016, '删除失败!')
    }
  } catch (err) {
    jgcl(ctx, 2016, '删除失败!', err)
  }

}



module.exports = {
  getUserInfo,
  findUserInfo,
  upUserStatus,
  delUser
}